package com.tenpay.customs;

import lombok.Data;
import lombok.EqualsAndHashCode;

@SuppressWarnings("serial")
@Data
@EqualsAndHashCode(callSuper = false)
public class PaymentReportResponse {
    
    private String return_code;
    private String return_msg;

    //  =====以下字段在return_code为SUCCESS的时候有返回=====
    private String sign_type;
    private String sign;
    private String appid;
    private String mch_id;
    /**
     * 业务结果	result_code	是	String(16)	SUCCESS	SUCCESS/FAIL
     */
    private String result_code;
    /**
     * 错误代码	err_code	否	String(32)	SYSTEMERROR	详细参见错误列表
     */
    private String err_code;
    /**
     * 错误代码描述	err_code_des	否	String(128)	系统错误	错误返回的信息描述
     */
    private String err_code_des;

    //  =====以下字段在return_code 和result_code都为SUCCESS的时候有返回=====
    /**
     * 状态码	state	是	String(32)	UNDECLARED
     * 状态码
     *
     * UNDECLARED -- 未申报
     *
     * SUBMITTED -- 申报已提交（订单已经送海关，商户重新申报，并且海关还有修改接口，那么记录的状态会是这个）
     *
     * PROCESSING -- 申报中
     *
     * SUCCESS -- 申报成功
     *
     * FAIL-- 申报失败
     *
     * EXCEPT --海关接口异常
     */
    private String state;

    /**
     * 微信支付订单号	transaction_id	是	String(28)	1000320306201511078440737890	微信支付返回的订单号
     */
    private String transaction_id;

    /**
     * 商户订单号	out_trade_no	是	String(32)	20150806125346	商户系统内部订单号，要求32个字符内，只能是数字、大小写字母_-|*@ ，且在同一个商户号下唯一。
     */
    private String out_trade_no;

    /**
     * 最后更新时间	modify_time	是	String(14)	20091227091010	最后更新时间，格式为yyyyMMddhhmmss，如2009年12月27日9点10分10秒表示为20091227091010。时区为GMT+8 beijing。该时间取自微信服务器
     */
    private String modify_time;

    /**
     * 订购人和支付人身份信息校验结果	cert_check_result	是	String(256)	UNCHECKED
     * UNCHECKED 商户未上传订购人身份信息
     * SAME 商户上传的订购人身份信息与支付人身份信息一致
     * DIFFERENT 商户上传的订购人身份信息与支付人身份信息不一致
     */
    private String cert_check_result;
}
